//
//  ZHIMChatManagerDelegate.h
//  ZHIMCore
//
//  Created by Chen Zhangli on 2021/1/18.
//

#import <Foundation/Foundation.h>
#import "ZHIMMessage.h"
#import "ZHIMConversation.h"


@protocol ZHIMChatManagerDelegate <NSObject>

@optional

/// 会话列表发生变化
/// @param conversationList 会话列表
- (void)conversationListDidChange:(NSArray *)conversationList;


/// 会话未读数发生改变
/// @param unread 未读
- (void)conversationUnreadDidChange:(NSDictionary *)unread;


/// 收到消息
/// @param messages 消息列表
- (void)messagesDidReceive:(NSArray *)messages conversation:(ZHIMConversation *)conversation;


/// 消息同步
- (ZHIMConversation *)messagesDidSync:(int64_t)version;


/// 收到已读回执（暂不支持）
/// @param messages 已读消息列表
- (void)messagesDidRead:(NSArray *)messages;


/// 收到消息送达回执（暂不支持）
/// @param messages 送达消息列表
- (void)messagesDidDeliver:(NSArray *)messages;


/// 收到消息撤回（暂不支持）
/// @param messages 撤回消息列表
- (void)messagesDidRecall:(NSArray *)messages;


/// 消息状态发生变化（暂不支持）
/// @param message 状态发生变化的消息
/// @param error 错误信息
- (void)messageStatusDidChange:(ZHIMMessage *)message error:(NSError *)error;


/// 消息附件状态发生改变（暂不支持）
/// @param message 附件状态发生变化的消息
/// @param error 错误信息
- (void)messageAttachmentStatusDidChange:(ZHIMMessage *)message error:(NSError *)error;

@end
